package com.photography.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.photography.common.Result;
import com.photography.entity.Category;


public interface CategoryService extends IService<Category> {

    /**
     * 新增产品分类
     * @param category 分类信息
     * @return 结果
     */
    Result addCategory(Category category);

    /**
     * 删除分类项
     * @param id 分类id
     * @return 结果
     */
    Result deleteCategory(Integer id);

    /**
     * 更新产品分类信息
     * @param category 产品分类信息
     * @return 结果
     */
    Result updateCategory(Category category);

    /**
     * 分页查询产品分类
     * @param page 分页参数
     * @param displayArea 显示区域（可选）
     * @return 分页结果
     */
    Page<Category> getCategoryPage(Page<Category> page, String displayArea,String search);

    /**
     * 模糊搜索产品分类
     * @param page 分页参数
     * @param keyword 搜索关键词，支持分类名、分类标题、展示区域
     * @return 分页结果
     */
    Page<Category> search(Page<Category>page,String keyword);

    /**
     *查询所有分类及其下的产品
     * @param displayArea 显示区域
     * @return 结果
     */
    Result findAllWithProducts(String displayArea);

    /**
     * 查询指定分类及其下的产品
     * @param id 分类ID
     * @return 分类及其产品
     */
    Result findCategoryWithProducts(Integer id);
}
